<?php
//账号设置控制器
namespace Home\Controller;
use Think\Controller;
class UserSettingController extends Controller{
	//账号设置视图
    //有数据处理的就一个视图一个操作
    //只是分配模板的话用一个视图就行了
    public function index(){
        //查询条件尽量用数组
        //当前用户的id存在session中
        //查出所属这个用户的对应的userinfo表中
        //的信息
        //这里应该是用外键的，但tp太傻逼了，
        //以后要手动插入
        $where=array('uid'=>session('uid'));
        $user=M('userinfo')->where($where)->find();
        $where=array('id'=>session('uid'));
        $account=M('user')->field('account')->where($where)->find();
        $this->assign('user',$user);
        $this->assign('account',$account['account']);
        $this->display();
    }
    //处理用户基本信息表单
    public function editBasic(){
        if (!IS_POST) {           
            $this->error('页面不存在的兄弟','index',2);
        }
       $data = array('username' => I('post.nickname'),
                   'truename'=>I('post.truename'),
                   'sex'=>(int)I('post.sex'),
                   'location'=>I('post.province').'|'.I('post.city'),
                   'constellation'=>I('post.night'),
                   'intro'=>I('post.intro')
                );
       $where=array('uid'=>session('uid'));
       if(M('userinfo')->where($where)->save($data)){
            echo "<script>alert('修改成功')</script>";
            //跳转到index方法
            $this->success('','index',0);
       }
    }
    //处理用户头像相关路径
    public function editFace(){
      if(!IS_POST){
        $this->error('页面不存在的兄弟','index',2);
      } 
      $where=array('uid'=>session('uid'));
      $oldData=M('userinfo')->field('face180,face80,face50')->where($where)->find();
      //修改头像在数据库中的路径
      if(M('userinfo')->where($where)->save($_POST)){
          //用户存在旧头像删掉，数据库存的是绝对路径，后端的文件路径是相对于index.php的
          if(!empty($oldData['face180'])){
            unlink('.'.substr($oldData['face180'],6));
            unlink('.'.substr($oldData['face80'],6));
            unlink('.'.substr($oldData['face50'],6));
          }
          echo "<script>alert('修改成功')</script>";
          //跳转到index方法
          $this->success('','index',0);
       }
    }
    //处理修改密码
    public function editPwd(){
      if(!IS_POST){
        $this->error('页面不存在的兄弟','index',2);          
      }
      $db=M('user');
      $where=array('uid'=>session('uid'));
      //验证旧密码
      $oldPassword=$db->where($where)->getField('password');
      if(md5($_POST['old'])!=$oldPassword){
          echo "<script>alert('旧密码错误，请重试')</script>";
          //跳转到index方法
          $this->error('','index',1);        
      }
      //两次密码是否输入一致
      if($_POST['new']!=$_POST['newed']){
          echo "<script>alert('旧密码错误，请重试')</script>";
          //跳转到index方法
          $this->error('','index',1);        
      }
      //新旧密码一致
      if(md5($_POST['newed'])==$oldPassword){
          echo "<script>alert('新旧密码一样，请重写输入')</script>";
          //跳转到index方法
          $this->error('','index',1);
      }      
      //更新密码
      $data=array(
          'password'=>md5(I('post.newed'))
        );
      $db->where($where)->save($data);
          echo "<script>alert('密码更改成功')</script>";
          //跳转到index方法
          $this->success('','index',0);        
    }
}